package com.xiangge;
/*
    类型转换：
        -- 基本数据类型转换：
              明确： boolean类型不参与
              取值范围的大小关系：
                 double > float > long > int > short > byte
                 double > float > long > int > char

              分类：
                 1. 自动类型转换：小类型的值给到大的类型的变量接收
                      说明： 不会报错,自动装
                 2. 强制类型转换：大类型的值给到小的类型的变量接收
                      说明： 不强制转换会报错

               类型转换的原则： 保证 = 左右两边的类型一致

              注意事项：高版本的JDK(5.0及以后) byte , short , char 类型的变量赋常量值时,值如果在变量的类型的取值范围内,会在编译时期自动加上强转的格式

        -- 引用数据类型转换：后面在面向对象的多态章节讲解

 */
public class BasicDemo1 {
    public static void main(String[] args) {
        // 大转小：
        byte b = (byte)20;
        short sh = (short)20;
        char c = (char)97;

        byte b2 = (byte) 200;
        int num = 30;
        short s = (short) num;

        // 自动类型转换： 小的值给大的变量接收
        long l = 100; // 1. 将int类型的100 自动 转换为long类型的100  2. 将long类型的100 给到long类型的变量l接收
        long num2 =  l;
    }
    public static void main1(String[] args) {
        // byte short int long float double char          boolean
        long l = 10;
        System.out.println("l = " + l);
    }
}
